
var Console ={
    cmd:document.getElementById("command"),
    inp:document.querySelector(".in"),
    mb:document.querySelector(".mb"),
    sendText:''
}

Object.defineProperties(Console, {
    sendText:{
        configurable: true,　//表示该属性描述符可以被改变（默认为false）
        get: function() {
            console.log('get: ',sendText)
            return sendText
        },
        set: function(newValue) {
            sendText = newValue;
            console.log('set: ',sendText)
        }
    }
})

/**
 * 显示数据在控制台
 * @param option text 需要显示的数据
 */
Console.render = function (option){
    this.text = option.text
    Console.url = option.url
    renderLog(this.text,Console.cmd);
    Console.clear()
}

/**
 * 清空输入框中的数据
 */
Console.clear = function (){
    Console.inp.value = ''
}

document.onkeydown = function (event){
    let value = Console.inp.value;
    let e = event || window.event;
    if (e && e.keyCode === 13){
        //发送数据
        Console.sendText = value
        renderLog(value,Console.cmd)
        Console.clear()
    }
}

/**
 * 显示数据在控制台
 * @param text 显示的数据
 */
function renderLog(text,ele){
    let node = document.createElement('command');
    node.innerText = '$: >' + text
    node.style.display = 'block'
    node.style.whiteSpace='nowrap'
    ele.parentNode.insertBefore(node,ele)

    //滚动条
    Console.mb.scrollTop = Console.mb.scrollHeight;
}

window.onload = function (){
    focus()
}

document.querySelector(".mb").onclick = function (){
    focus()
}

window.focus = function (){
    document.querySelector(".in").focus();
}

